package org.KeyCrafter.server.aof;

import java.io.File;
import java.io.IOException;
import java.nio.channels.FileChannel;

public class LoadingInfo {
    // 这个值为真时，表示服务器正在进行载入
    boolean loading;
    // 开始进行载入的时间
    long startTime;
    // 已载入数据的大小
    long loadedBytes;
    // 需要载入的数据的大小
    long totalBytes;

    public boolean isLoading() {
        return loading;
    }

    public long getStartTime() {
        return startTime;
    }

    public long getLoadedBytes() {
        return loadedBytes;
    }

    public long getTotalBytes() {
        return totalBytes;
    }

    public void startLoading(File file) {
        // 正在载入
        this.loading = true;
        // 开始进行载入的时间
        this.startTime = System.currentTimeMillis();
        // 文件的大小
        if (file.length() != 0) {
            this.totalBytes = file.length();
        } else {
            this.totalBytes = 1; // 只是为了避免0除错误
        }
    }
    // 刷新载入进度信息
    public void loadingProgress(long pos){
        this.loadedBytes = pos;
    }

    public void stopLoading() {
        this.loading = false;
    }
}
